// 邀请相关API接口
import { get, post } from './request.js'

/**
 * 获取邀请分享信息
 * @returns {Promise} 请求结果
 */
export const getInviteShareInfo = () => {
  return get('/invitations/share-info')
}

/**
 * 生成邀请二维码
 * @param {string} baseUrl - 基础URL
 * @returns {Promise} 请求结果
 */
export const generateInviteQRCode = (baseUrl) => {
  return post('/invitations/qrcode', { baseUrl })
}

/**
 * 处理邀请注册
 * @param {string} inviteCode - 邀请码
 * @param {number} userId - 用户ID
 * @returns {Promise} 请求结果
 */
export const handleInviteRegister = (inviteCode, userId) => {
  return post('/invitations/register', { inviteCode, userId })
}

/**
 * 获取邀请统计
 * @returns {Promise} 请求结果
 */
export const getInviteStats = () => {
  return get('/invitations/stats')
}

/**
 * 获取邀请详情列表
 * @param {Object} params - 查询参数
 * @returns {Promise} 请求结果
 */
export const getInviteDetails = (params = {}) => {
  return get('/invitations/details', params)
}

/**
 * 获取邀请排行榜
 * @param {Object} params - 查询参数
 * @returns {Promise} 请求结果
 */
export const getInviteRanking = (params = {}) => {
  return get('/invitations/ranking', params)
}

/**
 * 验证邀请码
 * @param {string} code - 邀请码
 * @param {Object} params - 额外参数
 * @returns {Promise} 请求结果
 */
export const validateInviteCode = (code, params = {}) => {
  return get(`/invitations/validate/${code}`, params)
}

/**
 * 记录分享行为
 * @param {Object} shareData - 分享数据
 * @returns {Promise} 请求结果
 */
export const recordShare = (shareData) => {
  return post('/invitations/share', shareData)
}

/**
 * 获取分享统计
 * @returns {Promise} 请求结果
 */
export const getShareStats = () => {
  return get('/invitations/share-stats')
}

/**
 * 获取推荐分享渠道
 * @returns {Promise} 请求结果
 */
export const getRecommendedChannels = () => {
  return get('/invitations/recommended-channels')
}

/**
 * 获取分享效果排行榜
 * @param {Object} params - 查询参数
 * @returns {Promise} 请求结果
 */
export const getShareRanking = (params = {}) => {
  return get('/invitations/share-ranking', params)
}